// 拆分:每步骤可以差分为两个(一个大的和一群小的)
// 忽略:拆分之后可以将上一步骤的大的忽略,继续拆分
// 所以每次的步骤都相当于二层汉诺塔问题

#include <stdio.h>

void move (char pos1 , char pos3)
{

    printf("%c move to %c\t" , pos1 , pos3) ;

}

void hanoi (int num , char pos1 , char pos2 , char pos3)
{

    if (num == 1)
    {

        move (pos1 , pos3) ;

    }

    else
    {

        hanoi (num - 1 , pos1 , pos3 , pos2) ;

        move (pos1 , pos3) ;

        hanoi (num - 1 , pos2 , pos1 , pos3) ;

    }

}

int main ()
{

    int num = 0 ;

    char A = 'A' , B = 'B' , C = 'C' ;

    scanf("%d" , &num) ;

    hnooi (num , A , B , C) ;

    return 0 ;

}